HTR · 02
Praktyczny przewodnik: jak wytrenować pierwszy model HTR
Stworzenie własnego modelu rozpoznawania tekstu odręcznego (HTR) nie wymaga wiedzy z zakresu programowania ani uczenia maszynowego. Podstawową zasadą jest to, że przedstawiamy systemowi odpowiednią liczbę obrazów linii pisma wraz z ich poprawną transkrypcją. Para ta – obraz dokumentu i jego zweryfikowana transkrypcja – tworzy tzw. Ground Truth (GT), czyli dane referencyjne, z których uczy się model. [1]
Poniższa procedura skupia się przede wszystkim na Transkribus, ponieważ umożliwia wykonanie całego procesu w środowisku graficznym. Jednak tę samą podstawową zasadę stosują także narzędzia open source, takie jak eScriptorium z systemem rozpoznawania Kraken. [2]
1. Najpierw zdefiniuj materiał
Zanim zaczniesz tworzyć dane uczące, dobrze jest ustalić, co tak naprawdę powinien być w stanie odczytać przyszły model. Wzór przeznaczony np. dla czeskich rejestrów administracyjnych z XVIII wieku rozwiązuje inny problem niż wzór korespondencji osobistej z początku XX wieku.
Do pierwszego doświadczenia korzystnie jest wybrać stosunkowo jednorodny zbiór:
- dokumenty z tego samego okresu,
- ten sam język,
- podobny charakter pisma,
- najlepiej jeden skryba lub niewielka liczba skrybów,
- jakościowo podobne obrazy.
Im bardziej zróżnicowany materiał zaprezentujemy modelowi, tym więcej danych uczących będziemy zwykle potrzebować. Dlatego Transkribus zaleca, aby zbiór uczący reprezentował różne typy pisma ręcznego, języki i inne cechy, które model powinien później rozpoznać. [3]
2. Wybierz reprezentatywne strony
Nie zaleca się po prostu zapisywania pierwszych kilkudziesięciu stron książki. Lepiej wybrać strony, które reprezentują materiał, nad którym będziemy później pracować.
Przykładowo, jeśli tom archiwalny zawiera wspólne wpisy, tabele, nagłówki, notatki na marginesie i kilku różnych skrybów, powinniśmy z góry zdecydować, które z tych elementów ma objąć model.
Dla pierwszego modelu nie trzeba przygotowywać setek stron. Aktualna dokumentacja Transkribus zawiera około 5 000 do 15 000 słów w zależności od charakteru materiału, co odpowiada około 25-75 stron. [4] W przypadku rękopisów ilość niezbędnych danych zależy głównie od ich zmienności. Nowsze instrukcje Transkribus wskazują jako orientacyjne minimum około 10 000 słów na rękę skryby („ręka”). [1]
Liczby te należy rozumieć jako orientacyjne, a nie jako ustalony limit.
3. Najpierw wypróbuj istniejący model
Przed stworzeniem własnego modelu warto sprawdzić, czy istnieje już model odpowiedni dla danego materiału. Transkribus oferuje modele publiczne stworzone zarówno przez jego programistów, jak i społeczność użytkowników. Można je wyszukiwać np. po języku, okresie czy typie pisma. [5]
Istniejący model może nie zapewniać doskonałej transkrypcji. Jeśli jednak stworzy użyteczną podstawę, może znacznie przyspieszyć przygotowanie Ground Truth: zamiast ręcznie przepisywać całą stronę, poprawiamy jedynie automatycznie wygenerowaną transkrypcję.
4. Przeanalizuj układ strony
System HTR musi wiedzieć, gdzie na stronie znajduje się każdy wiersz tekstu. Dlatego rozpoznawanie tekstu poprzedzone jest segmentacją lub analizą układu.
Dla zwykłej strony system zazwyczaj automatycznie tworzy obszary tekstowe oraz tzw. baselines – linie odniesienia wzdłuż poszczególnych linii tekstu. Należy je sprawdzić.
Błędnie umieszczone, scalone lub brakujące linie mogą mieć negatywny wpływ na dane treningowe. Transkribus jednoznacznie wskazuje, że przy tworzeniu modelu jakości ważna jest poprawność linii bazowych. [6]
5. Dokonaj dokładnej transkrypcji
Teraz następuje najbardziej pracochłonna część całego procesu.
Każdy wiersz musi mieć poprawną transkrypcję tekstu. Możemy utworzyć go ręcznie lub najpierw skorzystać z istniejącego modelu HTR i następnie skorygować jego wynik.
Ważniejsza od szybkości jest dokładność i konsekwencja. Model nie rozpoznaje, że błąd w Ground Truth jest literówką ludzką. Błędna transkrypcja jest po prostu informacją o jej szkoleniu. [1]
Przed przystąpieniem do bardziej rozbudowanej transkrypcji warto zatem stworzyć proste reguły transkrypcji. Na przykład konieczne jest podjęcie decyzji:
- czy zachowujemy oryginalną pisownię,
- jak piszemy wielkie i małe litery,
- jak radzimy sobie ze skrótami,
- czy rozwijamy formularze skrócone,
- jak piszemy znaki interpunkcyjne,
- jak postępujemy z przekreślonym lub dodanym tekstem,
- czy zachowujemy historyczne znaki pisma.
Spójny sposób transkrypcji jest zwykle ważniejszy w przypadku uczenia modelu niż modernizacja tekstu.
6. Oznacz zweryfikowane strony jako Ground Truth
Stronę uznajemy za Ground Truth dopiero po sprawdzeniu zarówno jej transkrypcji, jak i segmentacji.
W Transkribus tak sprawdzonym stronom można nadać status Ground Truth. Następnie na podstawie zweryfikowanych danych utworzymy zestaw szkoleniowy i walidacyjny. [1]
Warto nie uważać automatycznej transkrypcji za Ground Truth tylko dlatego, że „wygląda całkiem nieźle”. Nawet stosunkowo niewielka liczba błędów systematycznych może nauczyć model niepożądanego wzorca transkrypcji.
7. Podziel dane na uczące i walidacyjne
Modelu nie należy oceniać tylko na stronach, z których się nauczył. Dlatego odłożymy część Ground Truth jako zestaw walidacyjny.
Transkribus zaleca około 90% danych do szkolenia i 10% do walidacji. [1] [3]
Jeśli więc mamy na przykład 50 przepisanych stron wysokiej jakości, możemy z grubsza użyć:
45 stron → dane treningowe
5 stron → dane walidacyjne
Strony walidacyjne powinny być reprezentatywne. Przykładowo, jeśli w naszych dokumentach mamy kilku pisarzy, nie powinniśmy budować zestawu walidacyjnego tylko z najbardziej czytelnego z nich. [3]
8. Rozważ użycie modelu podstawowego
Nie zawsze musimy szkolić model od zera.
Jeśli istnieje model zbudowany w oparciu o podobny język, okres i rodzaj rękopisu, można go wykorzystać jako model bazowy i dostosować do własnych danych. Procedura ta, ogólnie określana jako dostrajanie, może zmniejszyć ilość potrzebnych danych i poprawić wyniki. [6]
Podobną zasadę oferuje również eScriptorium / Kraken, gdzie istniejący model można dalej trenować na własnych danych. [2]
Dla osoby początkującej rozsądne jest zatem wypróbowanie najpierw odpowiedniego modelu bazowego i dopiero w razie potrzeby eksperymentowanie z treningiem od samego początku.
9. Rozpocznij trening
Po przygotowaniu danych możesz utworzyć nowy Model Rozpoznawania Tekstu w Transkribus, wybrać dane uczące i walidacyjne oraz opcjonalnie model bazowy i rozpocząć uczenie. [3]
Samo obliczenie przebiega już automatycznie. Początkujący nie musi więc konfigurować sieci neuronowej ani programować własnego algorytmu.
Rezultatem jest model wyspecjalizowany w pisaniu ręcznym przedstawionym w Ground Truth.
10. Sprawdź CER
Jednym z podstawowych wskaźników jakości modelu HTR jest Character Error Rate (CER), czyli poziom błędu na poziomie znaku.
Krótko mówiąc, CER wyraża liczbę operacji znakowych potrzebnych do automatycznej transkrypcji, aby dopasować ją do prawidłowej transkrypcji referencyjnej. Obowiązuje zatem:
niższy CER = dokładniejsze rozpoznawanie.
Na przykład CER 10% nie oznacza po prostu „90% poprawnych słów”. Jest to metryka oparta na różnicach pomiędzy znakami odniesienia i rozpoznanym tekstem.
Transkribus podaje CER poniżej 10% jako ogólnie obowiązujący wynik wyszukiwania i dalszej analizy; Dla dobrze wymodelowanego, spójnego pisma ręcznego można osiągnąć wartości około 5% lub mniej. [1] [6]
Jednak sama liczba nie jest jedynym kryterium. W przypadku prac archiwalnych ważne jest również zwrócenie uwagi na naturę błędów. Model potrafi na przykład rzetelnie czytać zwykły tekst, ale systematycznie popełnia błędy właśnie w nazwiskach i nazwach miejscowości, liczbach czy skrótach, które są niezbędne w badaniach historycznych.
11. Wypróbuj model na wcześniej nieużywanych stronach
Po przeszkoleniu modelu wybierz kilka stron, które nie wchodziły w skład zbioru uczącego lub walidacyjnego i wykonaj ich automatyczne rozpoznanie.
Daje to bardziej praktyczną odpowiedź na pytanie:
„Jak dobrze ten model będzie działał na innych dokumentach?”
Test na wcześniej niewidzianym materiale zaleca także poradnik Transkribus. [1]
Jeśli model na nowych stronach radzi sobie znacznie gorzej niż na danych walidacyjnych, problemem może być np. niereprezentatywny wybór Ground Truth lub zbyt duże zróżnicowanie rękopisów.
12. Popraw błędy i utwórz więcej Ground Truth
Pierwszy model może nie być ostateczny.
Praktyczna procedura może wyglądać następująco:
Ground Truth → pierwszy model → automatyczna transkrypcja pozostałych stron → ręczna korekta → nowy Ground Truth → nowe szkolenie → lepszy model
Iteracyjne rozszerzanie wysokiej jakości danych treningowych jest jednym z podstawowych sposobów udoskonalenia własnego modelu HTR. [7]
Jednocześnie należy zwrócić uwagę na częsty błąd: samodzielna korekta automatycznie rozpoznanego tekstu nie powoduje automatycznego przeszkolenia modelu. Poprawione strony muszą zostać uwzględnione w nowych danych treningowych i należy rozpocząć kolejny cykl treningowy. [8]
Prosty pierwszy eksperyment
Początkujący nie musi od razu digitalizować całego zbioru archiwalnego. Lepiej zacząć od małego, kontrolowanego eksperymentu.
Weźmy na przykład jedną księgę z rękopisem, w której występuje przeważnie jeden skryba. Przygotujemy z niego około 25-50 stron reprezentacyjnych. Wykonujemy segmentację, korygujemy linie bazowe i tworzymy dokładną transkrypcję.
Następnie wykorzystujemy większość danych do uczenia i około jednej dziesiątej do walidacji. Jeśli istnieje odpowiedni publiczny model dla podobnego języka, okresu i pisma ręcznego, użyjemy go jako podstawy.
Po szkoleniu wypróbujemy własny model na kilku innych stronach, które nie były jeszcze używane.
Naprawiamy błędy nie tylko mechanicznie. Śledzimy ich przyczynę:
Czy model popełnia błędy przy wszystkich znakach?
Prawdopodobnie potrzebujemy więcej lub lepszych danych Ground Truth.
Czy działa szczególnie słabo w przypadku jednego pisarza?
Ten charakter pisma może być niedostatecznie reprezentowany w danych treningowych.
Czy powoduje błędy na granicach linii lub łączy tekst?
Problem może być związany z segmentacją i wartościami bazowymi.
Czy systematycznie błędnie rozpoznaje konkretną postać?
Wskazane jest sprawdzenie spójności jego transkrypcji w Ground Truth.
Czy CER jest dobry, ale model nie działa w nowych dokumentach?
Dane treningowe i walidacyjne prawdopodobnie nie są wystarczająco reprezentatywne dla rzeczywistego materiału.
Dopiero po tej ocenie ma sens dodawanie kolejnych poprawionych stron i ponowne uczenie modelu.
Takie postępowanie ma jedną istotną zaletę: podstawowa prawda stworzona w pierwszym eksperymencie nie jest pracą zmarnowaną. Jest to baza danych nadająca się do długotrwałego użytkowania, którą można sukcesywnie rozbudowywać i wykorzystywać przy tworzeniu kolejnych wersji modelu.
Wykorzystane zasoby
[1]Transkribus : How to train a model in Transkribus, 22.10.2025.
https://www.transkribus.org/blog/how-to-train-a-text-recognition-model-in-transkribus
[2]eScriptorium Dokumentacja: Train models.
https://escriptorium-tutorial.readthedocs.io/en/latest/train/
[3]Transkribus Centrum pomocy: Model Setup and Training.
https://help.transkribus.org/model-setup-and-training
[4]Transkribus Centrum pomocy: How do I train a model?
https://help.transkribus.org/how-do-i-train-a-model
[5]Transkribus Centrum pomocy: Public Models.
https://help.transkribus.org/public-models
[6]CZYTAJ-COOP: How to improve the CER of your model, 16.04.2024.
https://blog.transkribus.org/en/how-to-improve-the-cer-of-your-model
[7]CZYTAJ-COOP: How to retrain a model in Transkribus, 8.11.2024.
https://blog.transkribus.org/en/how-to-retrain-a-model-in-transkribus
[8]Transkribus Centrum pomocy: Training Text Recognition Models.
https://help.transkribus.org/training-text-recognition-models