BookTranslator
BookTranslator

Jak naprawić podziały wierszy i przenoszenie wyrazów po OCR przed tłumaczeniem

Popraw zawijany tekst OCR bez usuwania właściwych łączników, akapitów, list czy wierszy. Skorzystaj z odwracalnego procesu i dwunastu przykładów oczyszczania do pobrania.

BookTranslator

BookTranslator Team

11 min read

Aby naprawić podziały wierszy po OCR, najpierw zidentyfikuj tekst należący do jednego akapitu. Zastąp spacjami tylko niepożądane końce wierszy. W przypadku słowa podzielonego między wierszami zdecyduj osobno, czy usunąć łącznik, czy go zachować: trans- po którym następuje lation staje się translation, ale well- po którym następuje known staje się well-known. Prowadź rejestr zmian i porównuj niepewne połączenia z oryginalną stroną.

Nie stosuj operacji „usuń wszystkie podziały wierszy” ani „usuń wszystkie łączniki” dla całej książki. Oczyszczony fragment może wyglądać płynniej, tracąc przy tym akapit, łącząc dwa elementy listy lub zmieniając identyfikator techniczny. Celem jest wiarygodna kopia do czytania lub tłumaczenia — a nie jak najmniejsza liczba znaków nowego wiersza.

Niniejszy poradnik zaczyna się po rozpoznaniu tekstu. Jeśli kopiowanie z pliku PDF daje błędne litery lub cyfry, najpierw zdiagnozuj jego warstwę tekstową. Zmiana podziałów wierszy nie zamieni niepoprawnie rozpoznanego B-2O4 na zamierzone B-204.

Zdecyduj, co oznacza każdy podział wiersza

Zachowaj oryginalny skan i surowy wyodrębniony tekst bez zmian. W kopii roboczej włącz w edytorze wyświetlanie białych znaków lub znaków akapitu. Zmień rozmiar okna edytora: wiersz, który dopasowuje się bez zapisanego znaku nowego wiersza, po prostu zawija się na ekranie — nie ma w nim nic do usunięcia.

Zapisane znaki nowego wiersza wymagają innej weryfikacji. Porównaj z obrazem strony jeden ciągły akapit, nagłówek, listę i każdy wyraźnie odmienny układ strony. Nie wnioskuj o strukturze całego dokumentu wyłącznie na podstawie strony tytułowej.

Co oznacza dany podziałWłaściwe działanieWymagane przesłanki
Wizualne zawinięcie tekstu między słowami wewnątrz jednego akapituZastąp zapisany podział jedną spacjąOba wiersze należą do tego samego akapitu w tekście źródłowym
Podział wewnątrz jednego słowaPołącz fragmenty, zazwyczaj usuwając dywiz wynikający ze składuZamierzona pisownia, kontekst źródłowy oraz ewentualne reguły danego języka
Zawinięcie wiersza po autentycznym łączniku w wyrazie złożonymUsuń podział wiersza, zachowaj łącznikSłowo zachowuje ten łącznik niezależnie od formatowania końca wiersza
Granica akapitu, nagłówka, elementu listy lub wersuZachowaj granicęStruktura źródłowa, a nie tylko interpunkcja zdania
Przejście między kolumnami lub stronami o niepewnej kolejnościPozostaw nierozstrzygnięte i sprawdź stronęCiągłość tekstu, kolejność kolumn, podpisy i przypisy

Puste wiersze i wcięcia mogą pomóc w odnalezieniu akapitów, ale są to jedynie wskazówki, a nie gwarancje. Po nagłówku może nie być pustego wiersza. Wcięty wiersz może być kontynuacją listy, a nie nowym akapitem. Krótki wiersz zakończony kropką może być zarówno ostatnim wierszem akapitu, jak i zdaniem w jego środku.

Jeśli eksport z OCR zawiera informacje o układzie lub blokach tekstu, zachowaj je na czas sprawdzania tekstu. Sam eksport do zwykłego tekstu może bezpowrotnie usunąć wskazówki potrzebne do odtworzenia tych granic.

Odróżniaj podzielone słowa od autentycznych łączników

Trzy wizualnie podobne przypadki wymagają odmiennych poprawek:

trans-          → translation
lation

well-           → well-known
known

trans\u00ADlation → translation in a verified reading copy

W ostatnim wierszu użyto \u00AD , aby uwidocznić znak, który w innym razie byłby trudny do zauważenia. Standard Unicode odróżnia U+00AD SOFT HYPHEN, czyli opcjonalny znacznik podziału wewnątrzwyrazowego, od widocznego łącznika, takiego jak U+2010 HYPHEN. Znaki te nie są stosowane zamiennie. Specyfikacja łamania wierszy w standardzie Unicode opisuje również zależne od języka zmiany pisowni w miejscu podziału; usunięcie widocznego łącznika i złączenie liter nie zawsze wystarcza.

W przypadku zwykłej prozy usunięcie zweryfikowanego miękkiego łącznika pozwala uzyskać czytelny tekst roboczy. W przypadku transkrypcji archiwalnej należy zachować oryginał osobno: usunięcie znacznika modyfikuje zakodowany tekst, nawet jeśli słowo z wyglądu się nie zmienia.

Skorzystaj ze słownika języka źródłowego , aby sprawdzić proponowaną pisownię, a następnie powróć do analizowanego fragmentu. Wpis w słowniku stanowi jedynie dowód pomocniczy, a nie przyzwolenie na nadpisanie nazwiska, identyfikatora czy pisowni historycznej. Pomocne bywają także powtórzenia w dokumencie, choć błąd OCR może powtarzać się z pełną konsekwencją.

Dla przykładu nasz niemiecki fragment wygląda następująco:

Die Auf-
gabe ist klar.

Zamierzonym słowem w tym przygotowanym przykładzie jest Aufgabe; Hasło w słowniku Duden podaje jego podział jako Auf|ga|be. Połączenie Auf- oraz gabe jest w tym przypadku uzasadnione. Ten pojedynczy przykład nie stanowi jednak uniwersalnej reguły usuwania dywizów w języku niemieckim, a współczesna pisownia słownikowa nie powinna po cichu zastępować ortografii ze starszych wydań.

Adresy URL, kody katalogowe, nazwy chemiczne, wartości ujemne i inne elementy techniczne traktuj jako osobne przypadki do weryfikacji. O tym, czy myślnik lub łącznik powinien pozostać, decyduje tekst źródłowy i znaczenie danego elementu, a nie heurystyka oparta na słownictwie angielskim.

Czego uczy dwanaście kontrolowanych przykładów

Przygotowaliśmy demonstrację czyszczenia tekstu do pobrania , zawierającą dwanaście oryginalnych ciągów znaków. Ich docelowe słowa i strukturę określiliśmy na etapie tworzenia; następnie wprowadziliśmy wybrane podziały wierszy i artefakty dzielenia wyrazów. Są to syntetyczne przykłady tekstowe, a nie dane wyjściowe z silnika OCR czy skany książki.

Celowo uproszczona metoda bazowa wykonuje trzy podstawienia: usuwa łącznik z następującym znakiem nowego wiersza, zastępuje pozostałe znaki nowego wiersza spacjami i usuwa miękkie łączniki. Druga ścieżka stosuje wyłącznie indywidualnie zatwierdzone zmiany w precyzyjnie wskazanym tekście. Nie podejmuje ona prób automatycznego rozpoznawania akapitów ani rozstrzygania pisowni słów.

PróbkaUproszczona metoda bazowaZatwierdzona decyzja
Zawijanie prozy w języku angielskimPrawidłowo łączy dwa wierszeZastąp zweryfikowane zawinięcie spacją
trans- / lationPrawidłowo tworzy translationUsuń wstawiony łącznik i podział wiersza
well- / knownTworzy wellknownZachowaj autentyczny łącznik
Niemiecki Auf- / gabePrawidłowo tworzy AufgabePołącz tylko tę zweryfikowaną pisownię
Osadzony znak U+00ADUsuwa znacznik łącznika miękkiegoUsuń go w tej autorskiej wersji do czytania
Francuski wielokropek, a następnie nowy akapitŁączy akapityZachowaj granicę określoną przez autora
Lista numerowana, wiersz, kod i nagłówekSpłaszcza odrębne strukturyZachowaj ich podziały wiersza
Dwa akapity bez pustego wierszaŁączy je w jedenZachowaj akapity zdefiniowane przez autora
Nieprzejrzany znacznik stronySpłaszcza przejście między stronamiPozostaw bez zmian do czasu sprawdzenia kolejności

W dniu 3 października 2026 r. uruchomienie zestawu testowego w środowisku Node.js 25.2.1 dało tekst zgodny ze wzorcem referencyjnym w przypadku 4 z 12 przykładów przy użyciu uproszczonej metody bazowej. Ścieżka oparta na zatwierdzonych regułach dopasowała wszystkie dwanaście wzorców i poprawnie przywróciła wszystkie dwanaście wejść za pomocą operacji cofania. Odrzuciła również nieaktualne dane wejściowe, niejednoznaczne dopasowania oraz brakujące pozycje.

Wyniki te weryfikują precyzyjne nanoszenie poprawek w odniesieniu do znanych wzorców referencyjnych. Nie stanowią one miary skuteczności w rzeczywistych warunkach: zatwierdzone decyzje zawierały już gotowe odpowiedzi, a sam zbiór testowy dobrano celowo tak, by obnażyć przypadki brzegowe. Nie testowaliśmy komercyjnych narzędzi czyszczących, silników OCR, modeli tłumaczeniowych ani wgrywania plików do BookTranslator. Nie stosowano ponownych prób ani nie wykluczano żadnych próbek.

Pobierz rzeczywiste dane wejściowe/wyjściowe oraz dziennik poprawek i instrukcje odtworzenia testu. Skrypt JavaScript działa lokalnie bez zewnętrznych zależności czy zapytań sieciowych i wyświetla wyniki; nie modyfikuje przy tym Twoich plików. Zastosowane w nim mechanizmy kontrolne zapobiegają nałożeniu zatwierdzonej edycji na inny tekst, lecz nie potrafią ocenić, czy zmiana jest poprawna językowo.

Oczyszczaj pojedyncze, zweryfikowane bloki tekstu

Zacznij od krótkiego fragmentu prozy, którego kolejność czytania i granice akapitów jesteś w stanie jednoznacznie określić. Nie zaczynaj od całego rozdziału zawierającego podpisy, cytaty, listy i przypisy.

  1. Zapisz kopię roboczą i oznacz lokalizację źródłową. Do każdego sprawdzanego fragmentu dołącz nazwę pliku, numer strony, identyfikator akapitu lub bloku oraz język.
  2. W pierwszej kolejności oznacz granice strukturalne. Oddziel nagłówki, elementy list, wersy, tabele i kod od zwykłego tekstu. Zachowaj odniesienia do stron poza głównym tekstem, jeśli planujesz później usunąć ich znaczniki.
  3. Połącz zwykłe podziały wierszy między wyrazami w danym bloku. Zastąp każdy potwierdzony podział spacją. Sprawdź, czy słowa nie zrosły się ze sobą oraz czy istniejąca spacja nie została przypadkowo zdublowana.
  4. Przeanalizuj podzielone słowa osobno. Wyświetl cały wyraz wraz z otaczającym go zdaniem. Oznacz przypadek jako „usuń łącznik wynikający z układu”, „zachowaj oryginalny łącznik” lub „nierozstrzygnięte”. Nie traktuj nierozstrzygniętych przypadków jako zatwierdzonych zmian.
  5. Przejrzyj podgląd różnic (diff) przed zaakceptowaniem. Porównaj każdą usuniętą granicę wiersza lub łącznik ze źródłem. Zapisz oczyszczoną wersję pod nową nazwą pliku wraz z podjętymi decyzjami.
  6. Otwórz ponownie i skopiuj tekst z zapisanego wyniku. Sprawdź rzeczywisty plik, którego użyjesz, a nie tylko podgląd w edytorze.

W przypadku krótkiego fragmentu wystarczą ręczne poprawki z włączonym śledzeniem zmian lub porównanie przed i po. Przy dłuższych tekstach lista poprawek powinna rejestrować dokładny oryginalny ciąg znaków, zamiennik, lokalizację, powód i osobę weryfikującą. Suma kontrolna pliku źródłowego zapobiega zastosowaniu starych zatwierdzeń po zmianie danych wejściowych.

Jeśli Twój edytor oferuje tryb czyszczenia z zachowaniem akapitów, przetestuj go na trudnych blokach tekstu — a nie tylko na płynnej prozie. Zachowanie podwójnych znaków nowego wiersza nie przywróci granicy akapitu, którą OCR zapisał jako pojedynczy znak nowej linii. Nie usuwaj wcięć ani nie redukuj wszystkich spacji przed dokładnym sprawdzeniem tabel i kodu.

Wiedz, kiedy wrócić do skanu strony

Francuska interpunkcja doskonale ilustruje, dlaczego wykrywanie końca zdania nie jest tożsame z wykrywaniem akapitu. W naszym przykładowym fragmencie Il attend… oraz Le lendemain, il part. należą do oddzielnych akapitów. Sam wielokropek nie wyznacza tej granicy. Wskazówki Office québécois de la langue française dotyczące wielokropka (points de suspension) opisują jego użycie m.in. przy przerwaniu wypowiedzi lub niedokończonej myśli; skorzystaj ze struktury strony, aby zdecydować, czy połączyć kolejny wiersz.

Wprowadź obowiązkową weryfikację ze skanem strony w następujących przypadkach:

PrzypadekDlaczego sam tekst nie wystarczaCo należy porównać
Nagłówek, po którym następuje bezpośrednio tekst ciągłyPodczas ekstrakcji mogła nie zachować się żadna pusta liniaKrój pisma, wyrównanie, odstępy i funkcję sekcji
Fragment przechodzący na kolejną stronę lub do innej kolumnyTekst może być przerwany przez żywą paginę, podpis lub przypisOstatni wiersz źródłowy, kontynuację i kolejność czytania
Nazwisko, kod, wartość liczbowa lub nieznany terminPozornie poprawne połączenie może zmienić znaczenieKażdy znak, w tym rodzaj myślnika i cyfry
Podział słowa w tekście dawnymPisownia w miejscu drukowanego podziału może różnić się od formy całego wyrazuWydanie, pisownia źródłowa i odpowiednie źródła językowe
Poezja, listy, tabele lub kodKońce wierszy mogą nieść znaczenie lub kodować strukturęUkład wersów, granice elementów, komórki i wcięcia
Wielokropek, skrót lub krótki ostatni wierszInterpunkcja nie przesądza o pozycji w akapicieCały akapit i otaczające go bloki

Jeśli ten sam problem pojawia się na kilku stronach, wyszukaj dany wzorzec w całym dokumencie i przejrzyj dopasowania. Jeśli litery w tekście źródłowym, kolejność czytania lub całe fragmenty są błędne, przerwij normalizację i powróć do etapu rozpoznawania lub wyodrębniania. W przypadku rozpoznawania wielu języków skorzystaj z osobnego przepływu pracy OCR dla wielojęzycznych plików PDF.

Zweryfikuj oczyszczony tekst źródłowy przed tłumaczeniem

Porównaj wyedytowany blok z oryginalną stroną, a następnie sprawdź inny blok i każdy odmienny typ struktury obecny w wyodrębnionym tekście. Uwzględnij w próbie kontrolnej znane błędy. Sprawdzanie próbek dostarcza informacji o zweryfikowanych fragmentach; nie stanowi jednak gwarancji poprawności reszty książki.

  • Upewnij się, że nazwiska, liczby, daty i kody nadal zgadzają się ze źródłem.
  • Sprawdź każdy usunięty łącznik oraz pisownię zrekonstruowaną w miejscu podziału wiersza.
  • Porównaj granice akapitów, nagłówków, elementów list i wersów poetyckich.
  • Upewnij się, że pierwsze i ostatnie wiersze nie zostały utracone na przejściach między stronami.
  • Wyszukaj nierozwiązane przypadki i zachowaj je w dzienniku weryfikacji.
  • Upewnij się, że ostateczna, zapisana wersja jest tą, która trafi do kolejnego etapu pracy.

Jeśli potrzebny był Ci tylko tekst z możliwością wyszukiwania lub notatki, ten zweryfikowany wyciąg może być efektem końcowym. Nie potrzebujesz tłumaczenia, aby go poprawić.

Jeśli potrzebujesz dokumentu w innym języku, przygotuj zweryfikowaną treść w obsługiwanym formacie i skorzystaj z przepływu pracy tłumaczenia całych dokumentów. Tryb OCR w BookTranslator rekonstruuje przetłumaczony plik PDF z rozpoznanej treści, zamiast wiernie powielać pierwotny układ strony; nie jest on zewnętrznym edytorem do czyszczenia tekstu ani gwarancją, że każdy podział wiersza w źródle został zinterpretowany poprawnie. Przewodnik po skanowanych plikach PDF wyjaśnia, kiedy rozpoznawanie tekstu jest konieczne.

Zachowaj oryginalne strony oraz rejestr zmian na potrzeby końcowej kontroli jakości tłumaczenia pliku PDF. Płynnie brzmiące zdanie docelowe nie zdradzi Ci, że w tekście źródłowym powinien znaleźć się prawdziwy łącznik — ani że dwa pozornie ciągłe zdania stanowiły w rzeczywistości osobne akapity.

Powiązane wpisy